const express = require('express')//express框架
const { Op } = require('sequelize')//nodejs的sequelize模块
const vipLevel = require('../crud/table/vipLevel.js')//引入vip等级信息表

const vipRouter = express.Router()

vipRouter.post('/add',(req,res) =>{//添加会员等级
    const { level, discount, totalAmount, remarks} = req.body;
    vipLevel.findOne({
        where:{
            level
        }
    })
    .then(data =>{
        if(data){
            res.status(200).json({
                success:false,
                msg:'已经有该会员信息'
            })
            return new Promise(() =>{})
        }else{
            return vipLevel.create({
                level, discount, totalAmount, remarks
            })
        }
    })
    .then(data =>{
        res.status(200).json({
            success:true,
            msg:'会员级别添加成功',
            vip:data.get()
        })
    })
    .catch(err =>{
        res.status(200).json({
            success:false,
            msg:'服务器内部错误！'
        })
    })
})

vipRouter.put('/update',(req,res) =>{//修改会员信息
    const { level, discount, totalAmount, remarks } = req.body;
    vipLevel.findOne({
        where:{
            level
        }
    })
    .then(data =>{
        if(data){
            return vipLevel.update({
                discount, totalAmount, remarks 
            },{
                where:{
                    level
                }
            })
        }else{
            res.status(200).json({
                success:false,
                msg:'该会员还未添加'
            })
            return new Promise(() =>{})
        }
    })
    .then(data =>{
        return vipLevel.findOne({
            where:{
                level
            }
        })
    })
    .then(data =>{
        res.status(200).json({
            success:true,
            msg:'会员信息修改成功！',
            vip:data.get()
        })
    })
    .catch(err =>{
        res.status(200).json({
            success:false,
            msg:'服务器内部错误！'
        })
    })
})

vipRouter.delete('/del',(req,res) =>{//删除会员信息
    const { level } = req.body;
    vipLevel.findOne({
        where:{
            level
        }
    })
    .then(data =>{
        if(data){
            return vipLevel.destroy({
                where:{
                    level
                }
            })
        }else{
            res.status(200).json({
                success:false,
                msg:'该会员未存在'
            })
        }
    })
    .then(data =>{
        res.status(200).json({
            success:true,
            msg:'会员信息删除成功！'
        })
    })
    .catch(err =>{
        res.status(200).json({
            success:false,
            msg:'服务器内部错误！'
        })
    })
})

module.exports = vipRouter;